package com.moli.iov.sys.remote;

import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.rest.RestResponse;
import com.moli.iov.sys.model.dto.req.CompanyDto;
import com.moli.iov.sys.model.po.Company;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 企业远程调用 服务类
 * </p>
 *
 * @author zql
 * @since 2019-09-04
 */
public interface ICompanyRemoteService {

  /**
   *
   * 分页查询企业列表
   *
   * @param companyDto
   * @return
   */
  RestResponse<PageExtend<Company>> listCompanyOfPage(CompanyDto companyDto);

  /**
   *
   * 查询企业列表
   *
   * @param companyDto
   * @return
   */
  RestResponse<List<Company>> listCompany(CompanyDto companyDto);

  /**
   * 增加企业
   * @param companyDto
   * @return
   */
  RestResponse saveCompany(CompanyDto companyDto);

  /**
   * 修改企业
   * @param companyDto
   * @return
   */
  RestResponse updateCompanyByCompanyId(CompanyDto companyDto);

  /**
   * 获取单个企业
   * @param companyDto
   * @return
   */
  RestResponse getCompanyByCompanyId(CompanyDto companyDto);

  /**
   * 校验企业id
   * @param companyId
   * @return
   */
  Company companyValid(Long companyId);

  /**
   * 企业id集合查询列表
   * @param companyIds
   * @return
   */
  RestResponse<Map<Long, String>> listCompanyByCompanyIds(List<Long> companyIds);
}
